package com.mm.vo.mp;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * 描述: 订单发起参数
 *
 * @author: yanglin
 * @Date: 2021-08-24-15:53
 * @Version: 1.0
 */
@Schema(description = "描述: 订单发起参数")
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TaxiOrderReq implements Serializable {

    /**
     * 订单ID
     */
    @Schema(description = "订单ID")
    private Integer orderId;

    /**
     * 订单号
     */
    @Schema(description = "订单号")
    private String orderCode;

    /**
     * 订单状态(10-已创建(乘客发单) 20-已接单(司机接单) 30-待出发(司机抵达出发点) 40-待抵达(司机已接到乘客/行驶中) 50-待支付(司机抵达目的) 60-已支付(乘客已支付) 70-已完成  80-已取消)
     */
    @Schema(description = "订单状态(10-已创建(乘客发单) 20-已接单(司机接单) 30-待出发(司机抵达出发点) 40-待抵达(司机已接到乘客/行驶中) 50-待支付(司机抵达目的) 60-已支付(乘客已支付) 70-已完成  80-已取消)")
    private Integer orderStatus;

    /**
     * 起点
     */
    @Schema(description = "起点")
    private String taxiFirst;
    @Schema(hidden = true)
    private String taxiFirstDetail;
    @Schema(hidden = true)
    private String taxiFirstXyz;

    /**
     * 终点
     */
    @Schema(description = "终点")
    private String taxiLast;
    @Schema(hidden = true)
    private String taxiLastDetail;
    @Schema(hidden = true)
    private String taxiLastXyz;

    /**
     * 预估费用
     */
    @Schema(description = "预估费用")
    private Integer taxiCosts;

    /**
     * 预估乘客数
     */
    @Schema(description = "预估乘客数")
    private Integer taxiSeatNum;

    /**
     * 角色分类(0-司机; 1-乘客)
     */
    @Schema(description = "角色分类(0-司机; 1-乘客)")
    private Integer mType;

    /**
     * 打车用户OpenId
     */
    @Schema(description = "打车用户OpenId")
    private String mOpenId;

    /**
     * 司机用户OpenId
     */
    @Schema(description = "司机用户OpenId")
    private String dOpenId;

    public TaxiOrderReq() {
    }

}
